package com.tinfeng.study;

public class JavaArray {
    // 数组就是引用数据类型

    // 数组的两种声明方式
    // 中括号跟在数据类型后：DataType[] arrayName;  推荐写法
    // 中括号跟在数组名称后：DataType arrayName[];
//    int[] firstIntArrray;
//    float[] firstFloatArray;
//    String[] firstStringArray;

    // 数组创建
    // DataType[] arrayName;
    // arrayName = new DataType[数组长度]  长度必须指定为整形数字
    public static void main(String[] args) {
//        int[] intArray;
//        intArray = new int[10];  这个分为两步
//
//        int[] secondArray = new int[20];  // 声明时直接创建

        // 静态初始化
//        int[] arr ={1, 2, 3, 4, 5};
//        System.out.println(arr[1]);
//
//        // 动态初始化
//        int[] arr1 = new int[5];
//        arr1[0] = 1;
//        arr1[2] = 3;
//        arr1[4] = 5;
//        arr1[4] = 6;   // 修改
//        System.out.println(arr1[4]);
//        System.out.println(arr1.length);  // 获取长度
//        System.out.println(arr1.length-1);  // 获取数组的最后一个元素
        
        // 数组循环赋值
//        int[] arr = new int[10];
//        for (int i = 0; i < arr.length ; i++) {
//            arr[i] = i+1;
//        }
//        for (int i = 0; i <arr.length ; i++) {
//            System.out.println(arr[i]);
//        }
        // for each 循环遍历数组
//        String[] arrs = {"hello","n","m"};
//        for (String arr:arrs) {
//            System.out.println(arr);
//
//        }
//        for (int i = 0; i <arrs.length ; i++) {
//            System.out.println(arrs[i]);
//
//        }
            // 用foreach循环出最小的数
//            int[] arrs = {20, 30, 15, 70, 92, 11};
//            int min = arrs[0];
//        for (int arr:arrs) {
//            if (arr < min) {
//                min = arr;
//            }
//        }
//        System.out.println(min);

        // 多维数组

        // 声明
        // 中括号跟在数据类型后：DataType[][] arrayName;（最推荐写法）
        // 中括号跟在数组名后：DataType arrayName[][];
        // 中括号一个在前，一个在后：DataType[] arranName[];

        // 创建
//        int[][] bigArr = new int[4][3]; // 创建一个4行3列的数组
//        // 创建一个3行的二维数组
//        int intArray[][] = new int[3][];
//        // 第一行3列
//        intArray[0] = new int[3];
//        // 第二行2列
//        intArray[1] = new int[2];
//        // 第三行1列
//        intArray[2] = new int[1];

        // 静态初始化
        //int[][] intArray = {{1,2},{3,4},{5,6}}; // 3行2列

        // 动态初始化
//        int[][] intArray = new int[2][3];
//        intArray[0][0] = 10;

//        int[][] intArray = {{1,2,7}, {3,4}, {5,6}};
//        System.out.println(intArray.length);
//        System.out.println(intArray[0].length);

        // 循环遍历二维数组
        int[][] intArray = {{1,2,7}, {3,4}, {5,6}};
        for (int i = 0; i < intArray.length ; i++) {
            for (int j = 0; j < intArray[i].length ; j++) {
                System.out.println(intArray[i][j]);
            }

        }



    }


}
